package pub.xspace.nova.common.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import pub.xspace.nova.common.constant.Constant;
import pub.xspace.nova.common.domain.AjaxResult;

/**
 * 控制器基类
 * 
 * @author HeJianrong
 */
public class BaseController {

	protected Logger log = LoggerFactory.getLogger(getClass());

	/**
	 * 成功返回AjaxResult对象，自定义消息和数据对象
	 * 
	 * @param msg  成功的消息
	 * @param data 数据对象
	 * @return
	 */
	protected AjaxResult success(String msg, Object data) {
		return new AjaxResult(Constant.RESULT_SUCCESS_CODE, msg, data);
	}

	/**
	 * 成功返回AjaxResult对象，自定义消息
	 * 
	 * @param msg 自定义消息
	 * @return
	 */
	protected AjaxResult success(String msg) {
		return success(msg, null);
	}

	/**
	 * 默认成功返回AjaxResult对象
	 * 
	 * @return
	 */
	protected AjaxResult success() {
		return success(Constant.RESULT_SUCCESS_MSG);
	}

	/**
	 * 失败返回AjaxResult对象，自定义错误消息
	 * 
	 * @param msg 自定义错误消息
	 * @return
	 */
	protected AjaxResult fail(String msg) {
		return new AjaxResult(Constant.RESULT_FAIL_CODE, msg, null);
	}

	/**
	 * 默认失败返回AjaxResult对象
	 * 
	 * @return
	 */
	protected AjaxResult fail() {
		return fail(Constant.RESULT_FAIL_MSG);
	}

}
